
local 回收系统 = class()
local zts,zts1

function 回收系统:初始化(根)
	tp = 根
	self.ID = 177
	self.x = 110
	self.y = 50
	self.可视 = false
	self.鼠标 = false
	self.焦点 = false
	self.可移动 = true
	zts = tp.文字类.创建(nil,18,false,true,true)
	zts1 = tp.文字类.创建(nil,16,false,true,true)
	zts2 = tp.文字类.创建(nil,14,false,true,true)
	local 按钮 = tp._按钮
	local 资源 = tp.资源
	self.窗口时间 = 0
end

function 回收系统:打开(内容)
	if self.可视 then
		self.资源组 = {}
		self.可视 = false
	else
		self.数据=内容
		table.insert(tp.窗口_,self)
		tp.运行时间 = tp.运行时间 + 1
		local 按钮 = tp._按钮
		local 资源 = tp.资源
		local 自适应 = tp._自适应
		self.资源组 = {
			[1] = 资源:载入("pic/界面/自动回收.png", "图片"),
			[2] = 按钮.创建(自适应.创建(18,4,16,16,4,3),0,0,4,true,true),--关闭
			[3] = 按钮.创建(自适应.创建(12,4,70,22,1,3),0,0,4,true,true,"保存设置"),
			[4] = 按钮.创建(资源:载入('aaa.wdf',"网易WDF动画",0x1343E14),0,0,4,true,true),
			[5] = 按钮.创建(自适应.创建(12,4,70,22,1,3),0,0,4,true,true,"手动回收"),
			[6] = 按钮.创建(自适应.创建(12,4,60,22,1,3),0,0,4,true,true,"下一页"),
			[7] = 按钮.创建(自适应.创建(12,4,60,22,1,3),0,0,4,true,true,"上一页"),
		}
		self.回收按钮框 = {}
		for i,v in pairs(self.数据[2]) do
			self.回收按钮框[v[2]] = 按钮.创建(资源:载入('aaa.wdf',"网易WDF动画",0x1343E14),0,0,4,true,true)
			self.回收按钮框[v[2]].名称 = i
			self.回收按钮框[v[2]]:绑定窗口_(self.ID)
			if self.数据[1][i] then
				self.回收按钮框[v[2]]:置打勾框(true)
			end
		end
		self.窗口时间 = tp.运行时间
		local 按钮 = tp._按钮
		local 资源 = tp.资源
		if self.数据[1].自动回收 then
			self.资源组[4]:置打勾框(true)
		else
			self.资源组[4]:置打勾框(false)
		end
		for i=2,7 do
		    self.资源组[i]:绑定窗口_(self.ID)
		end
		self.当前页 = 0
		self.可视 = true
	end
end

function 回收系统:显示(dt,x,y)
	self.焦点 = false
	self.资源组[1]:显示(self.x,self.y)
	self.资源组[2]:更新(x,y)
	self.资源组[2]:显示(self.x+220+395,self.y+3)
	self.资源组[3]:更新(x,y)
	self.资源组[3]:显示(self.x+190,self.y+400)
	--self.资源组[4]:更新(x,y)
	--self.资源组[4]:显示(self.x+80,self.y+400,true,nil,nil,self.资源组[4].打勾框,2)
	self.资源组[5]:更新(x,y)
	self.资源组[5]:显示(self.x+270,self.y+400)

	self.资源组[6]:更新(x,y,self.当前页 < math.ceil(#self.回收按钮框/52) - 1)
	self.资源组[6]:显示(self.x+420,self.y+400)
	self.资源组[7]:更新(x,y,self.当前页 > 0)
	self.资源组[7]:显示(self.x+490,self.y+400)
	--zts1:显示(self.x+13,self.y+400,"自动回收")
	--zts:置颜色(0XFFFF9900)

	zts1:置颜色(黑色)
	local xx,yy=0,0
	for i=1+self.当前页*52,52+self.当前页*52 do
		if self.回收按钮框[i] then
		    zts1:显示(self.x+55+xx*150,self.y+65+yy*25,self.回收按钮框[i].名称)
		    self.回收按钮框[i]:更新(x,y)
		    self.回收按钮框[i]:显示(self.x+30+xx*150,self.y+65+yy*25,true,nil,nil,self.回收按钮框[i].打勾框,2)
		    if self.回收按钮框[i]:事件判断() then
		    	self.回收按钮框[i]:置打勾框(not self.回收按钮框[i]:取打勾框())
		    end
		   	xx = xx + 1
		    if xx==4 then
		    	xx = 0
		    	yy = yy + 1
		    end
		end
	end

	if self.资源组[2]:事件判断() then
		self:打开()
	elseif self.资源组[3]:事件判断() then

		if self.资源组[4]:取打勾框() then
			local 事件 = function()
				JGESDK:发送(110,{回收数据=self:取自动回收数据()})
			end
			tp.窗口.文本栏:载入("#Y/该操作会在每次战斗后将道具栏内满足条件的道具统一回收，回收后无法找回",nil,true,事件)
		else
			JGESDK:发送(110,{回收数据=self:取自动回收数据()})
		end
	elseif self.资源组[5]:事件判断() then
		local 事件 = function()
			JGESDK:发送(111)
		end
		tp.窗口.文本栏:载入("#Y/该操作会将道具栏内满足条件的道具统一回收，回收后无法找回，你确定要进行此操作么？",nil,true,事件)
	elseif self.资源组[4]:事件判断() then
		if self.资源组[4]:取打勾框() then
			self.资源组[4]:置打勾框(false)
		else
			local 事件 = function()
				self.资源组[4]:置打勾框(true)
			end
			tp.窗口.文本栏:载入("#Y/该操作会在每次战斗后将道具栏内满足条件的道具统一回收，如需生效请再点击保存设置！",nil,true,事件)
		end
	elseif self.资源组[7]:事件判断() then
		self.当前页 = self.当前页 - 1
		if self.当前页 < 0 then
			self.当前页 = 0
		end
	elseif self.资源组[6]:事件判断() then
		self.当前页 = self.当前页 + 1
		if self.当前页 > math.ceil(#self.回收按钮框/52) - 1 then
			self.当前页 = math.ceil(#self.回收按钮框/52) - 1
		end
	end
	zts1:置颜色(红色)
	zts1:显示(self.x+50,self.y+40,"勾选你要回收的道具（每次新增或减少勾选，保存设置才生效）")
end

function 回收系统:取自动回收数据()
	local 回收数据 = {自动回收=self.资源组[4]:取打勾框()}
	for i,v in ipairs(self.回收按钮框) do
		if v:取打勾框() then
			回收数据[v.名称] = true
		end
	end
	return 回收数据
end

function 回收系统:检查点(x,y)
	if self.资源组[1]:是否选中(x,y) then
		return true
	end
end

function 回收系统:初始移动(x,y)
	tp.运行时间 = tp.运行时间 + 1
	if not tp.消息栏焦点 then
		self.窗口时间 = tp.运行时间
	end
	if not self.焦点 then
		tp.移动窗口 = true
	end
	if self.鼠标 and  not self.焦点 then
		self.xx = x - self.x
		self.yy = y - self.y
	end
end

function 回收系统:开始移动(x,y)
	if self.鼠标 then
		self.x = x - self.xx
		self.y = y - self.yy
	end
end

return 回收系统